<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta content="en" name="language">
	<title>Magick++ ChangeLog</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
	<link media="screen" href="../docutils-articles.css" type="text/css" rel="stylesheet">

</head>

<body>

<div class="banner">
<img src="../images/gm-107x76.png" alt="GraphicMagick logo" width="107" height="76" />
<span class="title">GraphicsMagick</span>
<form action="http://www.google.com/search">
  <input type="hidden" name="domains" value="www.graphicsmagick.org" />
  <input type="hidden" name="sitesearch" value="www.graphicsmagick.org" />
<span class="nowrap"><input type="text" name="q" size="25" maxlength="255" />&nbsp;<input type="submit" name="sa" value="Search" /></span>
</form>
</div>


<div class="navmenu">
<ul>
  <li><a href="../index.html">Home</a></li>
  <li><a href="../project.html">Project</a></li>
  <li><a href="../download.html">Download</a></li>
  <li><a href="../README.html">Install</a></li>
  <li><a href="../Hg.html">Source</a></li>
  <li><a href="../NEWS.html">News</a> </li>
  <li><a href="../utilities.html">Utilities</a></li>
  <li><a href="../programming.html">Programming</a></li>
  <li><a href="../reference.html">Reference</a></li>
</ul>
</div>

<main id="magick-changelog">
<h1 class="title">Magick++ ChangeLog</h1>
<p>2017-03-04  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (orientation): Update orientation in EXIF profile,
if it exists.
(attribute): Added Image attribute method which accepts a 'char *'
argument, and will remove the attribute if the value argument is
NULL.</p></li>
</ul>
</blockquote>
<p>2014-11-28  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Geometry.h (Magick::Geometry): Add and document
limitPixels() and fillArea() methods to support '&#64;' and '^'
geometry qualifiers.  Fill area contributed by Long Ho and
limitPixels() by Bob Friesenhahn.</p></li>
<li><p>../www/Magick++/Image.rst: Document extent and resize methods.</p></li>
<li><p>lib/STL.cpp (extentImage): New function object to invoke image
extent method. Original implementation contributed by Long Ho.
Subsequently modified by Bob Friesenhahn.
(resizeImage): New function object to invoke image resize
method. Contributed by Long Ho.</p></li>
<li><p>lib/Image.cpp (extent): New method to place image on sized
canvas of constant color using gravity.  Contributed by Long Ho.
(resize): New method to resize image specifying geometry, filter,
and blur.  Original implementation contributed by Long Ho.
Subsequently modified by Bob Friesenhahn.</p></li>
</ul>
</blockquote>
<p>2014-01-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (thumbnail): New method for fast image resizing,
particularly to make thumbnails.</p></li>
</ul>
</blockquote>
<p>2013-12-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableDashArray): DrawableDashArray now uses
C++ memory allocation rather than from GraphicsMagick library.
Also, implement direct copy constructor and assignment operator
rather than using dasyarray() method.</p></li>
</ul>
</blockquote>
<p>2012-11-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>COPYING: Change Magick++ usage license to be exactly the MIT
license without the additional sentence about retention of
copyright (which was already legally implicit).</p></li>
</ul>
</blockquote>
<p>2012-04-19  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (defineValue): Use AddDefinition() rather than
AddDefinitions().</p></li>
</ul>
</blockquote>
<p>2012-03-17  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Include.h (Magick): Added support for RandomNoise.</p></li>
</ul>
</blockquote>
<p>2012-03-03  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/STL.cpp (stripImage): New unary function to to remove all
profiles and text attributes from the image.</p></li>
<li><p>lib/Image.cpp (strip): New method to remove all profiles and
text attributes from the image.</p></li>
</ul>
</blockquote>
<p>2011-12-30  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Include.h: Explicitly DLL import/export Magick++
symbols when building under MinGW GCC.</p></li>
</ul>
</blockquote>
<p>2010-12-18  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Include.h (Magick): Add LZMACompression</p></li>
</ul>
</blockquote>
<p>2010-12-07  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (InitializeMagick): Don't use atexit().  C++
destructures are sufficient.</p></li>
</ul>
</blockquote>
<p>2010-09-08  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (backgroundColor, borderColor, matteColor):
Opacity part of user-specified color needs to be preserved.
Problem was reported by Alexander Zheltov.</p></li>
</ul>
</blockquote>
<p>2010-04-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/CoderInfo.h: Add default constructor, copy
constructor, and assignment operator.</p></li>
</ul>
</blockquote>
<p>2010-01-31  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (Magick): Fix potential memory leak.</p></li>
</ul>
</blockquote>
<p>2010-01-12  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>demo/shapes.cpp (main): Floodfill shape more aggressively and
scale fuzz factor so that it provides the same results across
quantum depths.</p></li>
</ul>
</blockquote>
<p>2009-10-14  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/STL.cpp, lib/Magick++/STL.h (shadeImage): ShadeImage was the
result of a botched cut-and-paste.  Corrected now.  Thanks to
Jukka Manner for making me aware of this.</p></li>
</ul>
</blockquote>
<p>2009-09-03  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (cdl): New method to apply the ASC CDL.
(colorMatrix): New method to apply a color matrix to the image
channels.
(haldClut): New method to apply a color lookup table (Hald CLUT)
to the image.</p></li>
</ul>
</blockquote>
<p>2009-07-06  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (attribute): Invoke modifyImage() to assure
exclusive access to image when updating attributes.</p></li>
</ul>
</blockquote>
<p>2009-03-25  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (quantumOperator): New variant of method which
takes a 'double' argument, as it originally should.  Previous
method taking a Quantum argument is still supported but marked
deprecated.</p></li>
</ul>
</blockquote>
<p>2009-01-28  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Include.h: If the user defines STATIC_MAGICK in his
project, then the Windows DLL decorations are ignored.  Without
this, Windows DLL-based code can't use a static GraphicsMagick.
This is recommended by SourceForge bug 2537627.</p></li>
<li><p>lib/Magick++/Drawable.h: Apparently the only STL container which
may be DLL-exported is &lt;vector&gt; but we are using &lt;list&gt; so disable
DLL-export of list-based template objects.</p></li>
</ul>
</blockquote>
<p>2008-10-27  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Color.cpp: Added an _isValid boolean to represent an invalid
color.  Transparent black is no longer special and can be used in
drawing.</p></li>
<li><p>lib/Pixels.cpp: Update to use new cache view interfaces provided
by GraphicsMagick 1.3.</p></li>
</ul>
</blockquote>
<p>2008-09-16  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (addNoiseChannel): New method to add noise to a
specified channel.
(blurChannel): New method to blur a specified channel.
(gaussianBlurChannel): New method to gaussian blur a specified
channel.
(motionBlur): New method to motion blur the image.
(randomThresholdChannel): New method to apply random thresholding
or ordered dithering to the image.
(randomThresholdChannel): New method to apply random thresholding
or ordered dithering to the specified image channels.
(sharpenChannel): New method to sharpen a specified image channel.
(unsharpmaskChannel): New method to unsharpmask a specified image
channel.</p></li>
</ul>
</blockquote>
<p>2008-06-19  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (quantize): Error measurement support was being
performed incorrectly.  SyncImage() is not needed here.</p></li>
</ul>
</blockquote>
<p>2008-05-27  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>demo/demo.cpp (main): Fix segmentation parameters so they are
more suitable for our image.</p></li>
</ul>
</blockquote>
<p>2008-04-23  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (depth): Remove 8/16/32 restriction on depth
value.</p></li>
</ul>
</blockquote>
<p>2008-03-11  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Geometry.cpp, lib/Image.cpp: Include &lt;strings.h&gt; since it is
needed in order to use strcpy().</p></li>
</ul>
</blockquote>
<p>2007-12-01  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/{Drawable.cpp, Geometry.cpp, BlobRef.cpp, Blob.cpp,
Montage.cpp, Options.cpp, Image.cpp}: Eliminate use of deprecated
GraphicsMagick functions.</p></li>
<li><p>lib/Magick++/{STL.h, Include.h}: Eliminate use of deprecated
GraphicsMagick functions.</p></li>
</ul>
</blockquote>
<p>2007-07-21  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp: Include &lt;cstdlib&gt;</p></li>
</ul>
</blockquote>
<p>2006-10-03  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (pixelColor): Don't enforce color &quot;validity&quot; when
setting the pixel color.</p></li>
</ul>
</blockquote>
<p>2005-10-09  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (orientation): New accessor method to support
image orientation.</p></li>
</ul>
</blockquote>
<p>2005-04-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/STL.cpp (levelImage): New function object for leveling the
image channels.
(levelChannelImage): New function object for leveling a specific
image channel.</p></li>
<li><p>lib/Image.cpp (level): New method for leveling the image
channels.
(levelChannel): New method for leveling a specific image channel.</p></li>
</ul>
</blockquote>
<p>2005-04-13  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Include.h (Magick): Import CineonLogRGBColorspace
into Magick namespace.</p></li>
</ul>
</blockquote>
<p>2005-04-10  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Include.h: Import Rec601LumaColorspace (was called
GRAYColorspace) and Rec709LumaColorspace into Magick
namespace. Use of GRAYColorspace is mapped via a macro into
Rec601LumaColorspace in order to avoid a user-visible API change.</p></li>
</ul>
</blockquote>
<p>2004-08-17  Volker Lukas  &lt;<a class="reference external" href="mailto:vlukas&#37;&#52;&#48;gmx&#46;de">vlukas<span>&#64;</span>gmx<span>&#46;</span>de</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp: Fixes to ensure that drawable objects remain
coherent even if an exception is thrown within the assignment
operator.</p></li>
</ul>
</blockquote>
<p>2004-07-22  Bob Friesenhahn &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>demo/Makefile.am (AUTOMAKE_OPTIONS): Added nostdinc in order to
avoid accidentally using magick/list.h when including &lt;list&gt;.</p></li>
<li><p>tests/Makefile.am (AUTOMAKE_OPTIONS): Added nostdinc in order to
avoid accidentally using magick/list.h when including &lt;list&gt;.</p></li>
<li><p>tests/readWriteBlob.cpp: If MISSING_STD_IOS_BINARY is defined,
then ios::binary is not used.  Use simple ifstream rather than
std::ifstream since we are already using the std namespace.</p></li>
</ul>
</blockquote>
<p>2004-06-03  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Include.h: Disable unavoidable warnings under
Visual C++ when instantiating STL templates within DLL
code. Consensus from postings on the net is that as long as the
same C++ compiler is used throughout, these warnings are of no
concern.</p></li>
</ul>
</blockquote>
<p>2004-05-28  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (coderInfoList): Make error reporting a bit
more lenient so that if an error occurs while loading a module it
is not reported as an exception unless no coders were found at
all.</p></li>
</ul>
</blockquote>
<p>2004-05-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (clipMask): Use GetImageClipMask.</p></li>
</ul>
</blockquote>
<p>2004-04-14  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/CoderInfo.cpp (CoderInfo): Sense of isReadable() and
isWritable() was inverted.</p></li>
</ul>
</blockquote>
<p>2004-04-06  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Include.h: &lt;inttypes.h&gt; is not used. Inclusion
removed.</p></li>
</ul>
</blockquote>
<p>2004-03-29  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Thread.cpp (lock): Have not been successful with using
MsgWaitForMultipleObjects() reliably, so back out usage of it for
now.</p></li>
</ul>
</blockquote>
<p>2004-03-28  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Thread.cpp (lock): For MsgWaitForMultipleObjects, monitor
state change only.  Otherwise lock may deadlock.</p></li>
</ul>
</blockquote>
<p>2004-03-22  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (statistics): New method to obtain image
statistics (minimum, maximum, mean, variance, and standard
deviation).</p></li>
</ul>
</blockquote>
<p>2004-03-08  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (quantumOperator): New image method to apply an
arithmetic or bitwise operator to the pixel quantums in an image.
Still needs documentation.
(quantumOperator): New image method to apply an arithmetic or
bitwise operator to the pixel quantums in an image region.</p></li>
</ul>
</blockquote>
<p>2004-03-06  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>Makefile.am (../www/Magick++/ChangeLog.html): Fix execution of
txt2html.</p></li>
<li><p>lib/STL.cpp (composeImage): Added a function object to set/get
the Image composition option.</p></li>
<li><p>lib/Image.cpp (compose): Added a method to set/get the Image
composition option.</p></li>
</ul>
</blockquote>
<p>2004-03-06  Vladimir Lukianov  &lt;<a class="reference external" href="mailto:lvm&#37;&#52;&#48;integrum&#46;ru">lvm<span>&#64;</span>integrum<span>&#46;</span>ru</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Thread.cpp (lock): Use MsgWaitForMultipleObjects() rather
than WaitForSingleObject() in order to avoid possible deadlock
when application code directly or indirectly creates windows.</p></li>
</ul>
</blockquote>
<p>2004-02-18  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (interlaceType): Retrieve interlace setting from
Image rather than ImageInfo.</p></li>
</ul>
</blockquote>
<p>2004-02-03  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (Image): Delete the allocated image reference
object if a Magick::Error is thrown by the Image constructor.
Otherwise the image reference object becomes a memory leak.</p></li>
</ul>
</blockquote>
<p>2004-01-27  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (WriteImages): Pass Blob::MallocAllocator to
updateNoCopy() in order to ensure that correct deallocator is
used.</p></li>
<li><p>tests/readWriteBlob.cpp (main): Needed to delete character array
using array [] reference.</p></li>
</ul>
</blockquote>
<p>2004-01-18  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>demo/analyze.cpp (main): Fix a GNU C++ library portability
problem noticed under MinGW. The 'left' iostream manipulator seems
to be missing.</p></li>
</ul>
</blockquote>
<p>2004-01-04  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>tests/Makefile.am: coderInfo test is expected to fail for moby
builds when the package is not yet installed since a .la file
exists in the coders directory, but there is no associated .so
file.  Therefore failures of the coderInfo test are now ignored.</p></li>
</ul>
</blockquote>
<p>2003-12-27  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (defineValue): New method to support setting
format-specific defines.
(defineSet): New method to support setting or testing for
format-specific flags.</p></li>
</ul>
</blockquote>
<p>2003-12-21  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (iccColorProfile): Implementation now uses the
profile method with profile name &quot;ICM&quot;.  Note that this now
invokes the color profile if the image already has one.
(iccColorProfile): Reimplement using new GetImageProfile function.
(iptcProfile): Reimplement using the new GetImageProfile and
SetImageProfile functions.
(profile): Reimplement using new GetImageProfile function.</p></li>
</ul>
</blockquote>
<p>2003-12-08  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Makefile.am (pkglibdir): Improve header file
install location logic.</p></li>
</ul>
</blockquote>
<p>2003-12-04  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>demo/analyze.cpp (main): New program to demonstrate using the
'analyze' process module.</p></li>
<li><p>demo/Makefile.am: Add rules to build analyze program.</p></li>
<li><p>lib/Image.cpp (process): New method to execute process modules.</p></li>
<li><p>lib/Image.cpp (attribute): New method to get and set named image
attributes.</p></li>
</ul>
</blockquote>
<p>2003-10-01  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Color.cpp: Ensure that all non-default constructors set
opacity to opaque.</p></li>
</ul>
</blockquote>
<p>2003-09-17  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (colorHistogram): If map key is not const,
then implicit type conversion occurs.  Sun's C++ compiler doesn't
seem to handle that.  The map key is now defined as const in the
insert arguments.</p></li>
</ul>
</blockquote>
<p>2003-09-01  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>tests/Makefile.am: Add build support for colorHistogram.cpp.</p></li>
<li><p>tests/colorHistogram.cpp: New test program to test retrieving
color histograms from the image using colorHistogram().</p></li>
<li><p>lib/Magick++/STL.h (colorHistogram): Added new template function
to retrieve a color histogram into a user-provided container.
Verified to work when using STL &lt;vector&gt; and &lt;map&gt; as the target
container types.  When &lt;map&gt; is used, a user-specified color may
be used to perform lookups in the map to obtain the usage count
for that color.</p></li>
<li><p>lib/Color.cpp (operator &gt;=): Insufficient resolution was being
provided in order to reliably sort color objects in STL
containers.  The updated algorithm should be fail-safe.</p></li>
</ul>
</blockquote>
<p>2003-08-31  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (channelDepth): New method to set or get the
modulus depth for a specified channel.</p></li>
</ul>
</blockquote>
<p>2003-08-29  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Include.h (Magick): Added support for
CopyCyanCompositeOp, CopyMagentaCompositeOp,
CopyYellowCompositeOp, and CopyBlackCompositeOp, composition
operators.</p></li>
</ul>
</blockquote>
<p>2003-08-12  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (depth): Method now only updates the
Image/ImageInfo depth member and retrieves the value of the Image
depth member.
(modulusDepth): New method to inspect the pixels for actual
modulus depth, or update/reduce the pixels to a specified modulus
depth.  The depth method was performing this function so any code
which depended on the depth method to compute or set the modulus
depth should be updated to use modulusDepth() instead.</p></li>
</ul>
</blockquote>
<p>2003-08-03  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (matte): If a new matte channel is created,
initialize it to opaque.  Likewise, if the matte channel is
eliminated, initialize the unused channel to opaque.</p></li>
</ul>
</blockquote>
<p>2003-07-09  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>demo/demo.cpp (main): Don't crop logo image.</p></li>
<li><p>*.h, *.cpp: Include &quot;Magick++/Include.h&quot; before including any
compiler or system header in order to ensure that LFS defines are
properly applied. Inspired by patch from Albert Chin-A-Young.</p></li>
</ul>
</blockquote>
<p>2003-06-29  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Include.h: Needed to import ThrowLoggedException.</p></li>
<li><p>lib/Exception.cpp (throwException): Add originating source
module, source line, and function name (if available) to exception
report. This is useful in order to determine the exact conditions
that lead to the exception being thrown.</p></li>
<li><p>lib/Magick++/Exception.h: Added ErrorCoder, WarningCoder,
ErrorConfigure, WarningConfigure, ErrorDraw, WarningDraw,
ErrorImage, WarningImage, ErrorMonitor, WarningMonitor,
ErrorRegistry, WarningRegistry, ErrorStream, WarningStream,
ErrorType, and WarningType, exception classes to support the full
set of exceptions that GraphicsMagick can throw.</p></li>
</ul>
</blockquote>
<p>2003-06-22  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/CoderInfo.cpp (CoderInfo): Applied compilation fix from Mike
Chiarappa to compile using Borland C++.</p></li>
</ul>
</blockquote>
<p>2003-06-06  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Geometry.cpp (string): Throw an exception if a string is
requested from an invalid geometry object.</p></li>
</ul>
</blockquote>
<p>2003-06-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Geometry.cpp (operator =): If GetGeometry returns NoValue,
then assign an invalid geometry object to cause an exception if
the geometry is then used.</p></li>
</ul>
</blockquote>
<p>2003-06-04  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Exception.h (ErrorModule): Added class to handle
module errors.</p></li>
<li><p>lib/Magick++/Exception.h (WarningModule) Added class to handle
module warnings.</p></li>
</ul>
</blockquote>
<p>2003-05-30  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (coderInfoList): Use GetMagickInfoArray to
access coder list.</p></li>
</ul>
</blockquote>
<p>2003-05-22  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (affineTransformImage): Add function object
contributed by Vladimir Lukianov to apply an affine transform to
the image.</p></li>
<li><p>lib/Image.cpp (affineTransform): Added method contributed by
Vladimir Lukianov to apply an affine transform to the image.</p></li>
</ul>
</blockquote>
<p>2003-05-16  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Include.h: Decided to back out change which used
the _VISUALC_ define to trigger inclusion of &lt;sys/types.h&gt;.</p></li>
</ul>
</blockquote>
<p>2003-05-14  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Include.h: If _VISUALC_ is defined, include
&lt;sys/types.h&gt;. This ensures that this necessary header is included
even if HAVE_SYS_TYPES_H is not defined in magick_config.h.</p></li>
</ul>
</blockquote>
<p>2003-05-04  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (InitializeMagick): InitializeMagick is now a C++
function rather than a namespace inclusion.  An atexit() handler
is registered to invoke DestroyMagick when the program
exits. Relying on static deconstruction to invoke DestroyMagick
proved to be unreliable due to translation unit destruction
uncertainty.</p></li>
</ul>
</blockquote>
<p>2003-04-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (Image::Image (MagickLib::Image* image_)):
Incorporated recommended fix from Jukka Manner to avoid
a scenario which leaks an Options object.</p></li>
<li><p>tests/coalesceImages.cpp: Updated to use modified
coalesceImages() interface.</p></li>
<li><p>lib/Magick++/STL.h (coalesceImages): Replaced implementation
with one from Felix Heimbrecht. The template signature has changed
to return a new image sequence. This template API silently ceased
to function due to an ImageMagick CoalesceImages API change.</p></li>
</ul>
</blockquote>
<p>2003-03-30  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>tests/readWriteBlob.cpp (main): Added check for stream read
failure when reading blob data.
(class myBlob): Use get rather than read.</p></li>
</ul>
</blockquote>
<p>2003-03-20  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>tests/attributes.cpp : Change in the way that Magick++ retrieves
density caused tests to fail.  Density now defaults to 72x72
(GraphicsMagick default) rather than invalid.</p></li>
</ul>
</blockquote>
<p>2003-03-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>demo/Makefile.am (CLEANFILES): Fix clean target to
remove *_out.mvg output files as well.</p></li>
<li><p>demo/zoom.cpp: Added a command-line parser for dash arguments as
well as an image &quot;resample&quot; capability.</p></li>
<li><p>lib/Image.cpp (density): Obtain density from Image rather than
ImageInfo if the Image is valid.</p></li>
</ul>
</blockquote>
<p>2003-03-01  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Makefile.am : Added rules to install GraphicsMagick++.pc.</p></li>
<li><p>lib/GraphicsMagick++.pc.in : Added pkgconfig file for
-lGraphicsMagick++.</p></li>
</ul>
</blockquote>
<p>2003-02-11  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (colorSpace): Pass image-&gt;colorspace to
TransformRGBColorspace.</p></li>
</ul>
</blockquote>
<p>2003-01-22  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (writeImages): Should have been invoking
WriteImages rather than WriteImage!</p></li>
</ul>
</blockquote>
<p>2003-01-18  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Include.h: Add HSL and HWB colorspace
transformation support.</p></li>
</ul>
</blockquote>
<p>2003-01-13  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (colorSpace): Support colorspace transforms other
than to and from RGB by translating to RGB as an intermediate
step.</p></li>
</ul>
</blockquote>
<p>2002-11-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp: Added DrawablePushClipPath,
DrawablePopClipPath, and DrawableClipPath.  Implementation
contributed by Vladimir &lt;<a class="reference external" href="mailto:lvm&#37;&#52;&#48;integrum&#46;ru">lvm<span>&#64;</span>integrum<span>&#46;</span>ru</a>&gt;.</p></li>
</ul>
</blockquote>
<p>2002-11-10  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (colorMapSize): New method to set, or return the
colormap size.</p></li>
</ul>
</blockquote>
<p>2002-11-08  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (adaptiveThreshold): New method.</p></li>
</ul>
</blockquote>
<p>2002-10-01  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (coderInfoList): Intentionally ignore missing
delegate exceptions.</p></li>
</ul>
</blockquote>
<p>2002-09-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Options.cpp (textEncoding): Had forgotten to implement
textEncoding!</p></li>
</ul>
</blockquote>
<p>2002-09-16  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Color.cpp (Color): Use of 'new' and 'delete' in inlines was
causing memory allocation/deallocation problems for users of the
DLL build.  Problem was identified by Marc Iwan.</p></li>
</ul>
</blockquote>
<p>2002-09-02  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (compare): New method to compare current image
with a reference image.</p></li>
</ul>
</blockquote>
<p>2002-08-19  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (textEncoding): New method to allow setting the
default text encoding (e.g. &quot;UTF-8&quot;).</p></li>
<li><p>lib/Drawable.cpp (DrawableText): Added an alternate constructor
to allow specifying the text encoding (e.g. &quot;UTF-8&quot;).</p></li>
</ul>
</blockquote>
<p>2002-08-02  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>Overall: Now compiles as a DLL using Visual C++.</p></li>
</ul>
</blockquote>
<p>2002-07-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (profile): Added method to store, delete, or
retrieve named application profiles.</p></li>
</ul>
</blockquote>
<p>2002-07-17  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (type): Set the ImageInfo type attribute when
setting the image type.  If the type attribute is set to something
other than UndefinedType (implying that the user has set a desired
output image type), then return that as the image type, otherwise
use GetImageType() to evaluate the image type.</p></li>
</ul>
</blockquote>
<p>2002-05-20  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableTextUnderColor): New class to set the
text undercolor.  When text undercolor is set, a rectangle of the
specified color is rendered under text annotations.</p></li>
</ul>
</blockquote>
<p>2002-05-19  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>Magick++ library no longer depends on iostreams at all.</p></li>
</ul>
</blockquote>
<p>2002-04-28  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (throwImageException): ExceptionInfo was not being
properly initialized.  This could cause some errors to cause an
abort in error.c rather than throwing an exception.</p></li>
</ul>
</blockquote>
<p>2002-04-26  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (draw): Use draw.h drawing APIs to draw on image.
This means that MVG output no longer comes from code in
Drawable.cpp.</p></li>
</ul>
</blockquote>
<p>2002-04-25  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/STL.cpp: Moved function object implementations from STL.h to
STL.cpp.</p></li>
</ul>
</blockquote>
<p>2002-04-20  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (getConstPixels): Changed offset parameter type
from 'unsigned int' to 'int'.
(getPixels): Changed offset parameter type from 'unsigned int' to
'int'.
(setPixels): Changed offset parameter type from 'unsigned int' to
'int'.
(cacheThreshold): Changed argument type from 'const long' to
'const int'.
(matteFloodfill): Changed offset parameter type from 'const long'
to 'const int'.</p></li>
<li><p>lib/Pixels.cpp (getConst): New method to return read-only
pixels.
(get): Offset parameter types changed from 'unsigned int' to
'int'.</p></li>
</ul>
</blockquote>
<p>2002-04-19  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Drawable.h (DrawableDashOffset): Change dashoffset
type to 'double' rather than 'unsigned int' in order to match
ImageMagick.</p></li>
<li><p>lib/Drawable.cpp (DrawableDashArray): Change dasharray type to
'double' rather than 'unsigned int' in order to match
ImageMagick. Previous 'unsigned int' methods remain for
compatibility reasons.</p></li>
</ul>
</blockquote>
<p>2002-04-14  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableCompositeImage): Always output
composite images as inlined Base64.</p></li>
</ul>
</blockquote>
<p>2002-04-13  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableCompositeImage): If magick attribute
string is specified, then composite image is supplied to
ImageMagick as inlined Base64 rather than by MPRI reference.</p></li>
<li><p>lib/Blob.cpp (base64): Added methods to update Blob with data
from Base64-encoded string, or to return a Base64-encoded string
from Blob.  Still needs documentation.</p></li>
</ul>
</blockquote>
<p>2002-04-09  Dom Lachowicz    &lt;<a class="reference external" href="mailto:cinamod&#37;&#52;&#48;hotmail&#46;com">cinamod<span>&#64;</span>hotmail<span>&#46;</span>com</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (Image::ping): Added PingBlob function</p></li>
</ul>
</blockquote>
<p>2002-04-07  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableDashArray::operator=): Added missing
assignment operator (fixes a bug).
(DrawableDashArray::DrawableDashArray): Added missing copy
constructor (fixes a bug).</p></li>
<li><p>lib/Image.cpp (oilPaint): Changed argument type from unsigned
int to double.
(chromaBluePrimary): Changed argument type from float to double.
(chromaGreenPrimary): Changed argument type from float to double.
(chromaRedPrimary): Changed argument type from float to double.
(chromaWhitePoint): Changed argument type from float to double.
(getConstPixels): Changed argument type of x_ &amp; _y from 'int' to
'unsigned int'.
(getPixels): Changed argument type of x_ &amp; _y from 'int' to
'unsigned int'.</p></li>
</ul>
</blockquote>
<p>2002-04-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (debug): Added method to set ImageMagick debug
flag so that it prints debugging information while it runs.</p></li>
</ul>
</blockquote>
<p>2002-04-03  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp: Fixed a bunch of bugs related to
DrawableCompositeImage, DrawableFont, and inconsistencies
discovered by Gimpel lint.</p></li>
</ul>
</blockquote>
<p>2002-04-02  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (draw): Properly delimit individual drawing
commands so that MVG output is correct.</p></li>
</ul>
</blockquote>
<p>2002-03-30  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableViewbox): MVG syntax wasn't correct.</p></li>
<li><p>lib/Image.cpp (draw): Fix algorithm used to append newlines to
MVG commands so that draw() may be invoked multiple times while
still producing valid MVG.</p></li>
</ul>
</blockquote>
<p>2002-03-29  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableViewbox): New class to allow setting
the MVG output size.</p></li>
</ul>
</blockquote>
<p>2002-03-26  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (print): Changed &quot;mpr:&quot; to &quot;mpri:&quot; in order to
finally get DrawableCompositeImage to work as intended.</p></li>
<li><p>lib/Image.cpp (registerId): Bugfix. Register using
sizeof(MagickLib::Image) rather than sizeof(Image).</p></li>
</ul>
</blockquote>
<p>2002-03-26  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableCompositeImage): Had failed to
initialize width and height in object to image width and height.</p></li>
</ul>
</blockquote>
<p>2002-02-28  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (endianImage): New class to specify the
endian option for formats which support this notion (e.g. TIFF).</p></li>
<li><p>lib/Image.cpp (endian): New method to specify the endian option
for formats which support this notion (e.g. TIFF).</p></li>
</ul>
</blockquote>
<p>2002-02-11  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableFont): Support specifying a font via
font-family, font-style, font-weight, and font-stretch. Wildcard
matches are supported.</p></li>
</ul>
</blockquote>
<p>2002-02-06  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (charcoal): Replace Magick++'s charcoal effect
with the output of ImageMagick's CharcoalImage function in order
to ensure consistency.</p></li>
<li><p>lib/Magick++/CoderInfo.h (MatchType): Scope the MatchType
enumeration to the CoderInfo class so these enumeration names can
be re-used elsewhere without conflict.  This results in a minor
API change to the coderInfoList() templated function since
enumerations must be specified like &quot;CoderInfo::TrueMatch&quot; rather
than just &quot;TrueMatch&quot;.  Hopefully not a problem since this
function and class were not documented outside of the headers
until this release.</p></li>
</ul>
</blockquote>
<p>2002-02-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (coderInfoList): Finally wrote some
documentation.</p></li>
</ul>
</blockquote>
<p>2002-01-26  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Options.cpp : Use DestroyImageList() rather than
DestroyImage().</p></li>
<li><p>lib/Geometry.cpp (operator =): Use GetPageGeometry() rather than
PostscriptGeometry() to parse geometry specifications containing a
page size.</p></li>
</ul>
</blockquote>
<p>2002-01-21  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>Remove bogus cast of blob data in readImages().</p></li>
</ul>
</blockquote>
<p>2002-01-20  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (throwImageException): Throwing exceptions was
leaking memory.</p></li>
<li><p>lib/Exception.cpp (throwException): Throwing exceptions was
leaking memory.</p></li>
<li><p>lib/Image.cpp (replaceImage): Updated to properly handle
registration ids.
(modifyImage): Updated to properly handle registration ids.</p></li>
</ul>
</blockquote>
<p>2002-01-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (Magick::DrawableGravity::print):
Bugfix. Remove &quot;Gravity&quot; from the end of each gravity
specification string.  Reported as PR#1084 by stefan&#64;dotify.com.</p></li>
</ul>
</blockquote>
<p>2002-01-12  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp, Magick++/Include.h: Use DestroyImageList() rather
than DestroyImages().</p></li>
</ul>
</blockquote>
<p>2002-01-10  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Options.h (antiAlias): Bugfix, set
drawInfo-&gt;text_antialias to control text antialiasing.</p></li>
</ul>
</blockquote>
<p>2002-01-02  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Include.h : Imported new composition operators to
namespace: NoCompositeOp, DarkenCompositeOp, LightenCompositeOp,
HueCompositeOp, SaturateCompositeOp, ValueCompositeOp,
ColorizeCompositeOp, LuminizeCompositeOp, ScreenCompositeOp,
OverlayCompositeOp.</p></li>
</ul>
</blockquote>
<p>2001-12-27  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (strokePattern): New method to specify image to
use as pattern while drawing stroked-outlines of drawn objects.
(fillPattern): New method to specify image to use as pattern while
filling drawn objects.
(penTexture): Method is officially deprecated.  Don't use anymore.
(penColor): Method is officially deprecated. Don't use anymore.</p></li>
<li><p>lib/Drawable.cpp (DrawablePushPattern): Support pushing
(starting) pattern definition.
(DrawablePopPattern): Support popping (terminating) pattern
definition.</p></li>
</ul>
</blockquote>
<p>2001-12-26  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableCompositeImage): Read image
immediately if provided by filename, register with persistent
registry, and pass as perisistant image type.
(DrawableCompositeImage): Support specifying Image in memory.
Passed as perisistant image type.</p></li>
</ul>
</blockquote>
<p>2001-12-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Color.cpp (operator std::string): Color string buffer was
one character too short!</p></li>
</ul>
</blockquote>
<p>2001-12-20  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;sun1107&#46;ssd&#46;usa&#46;alcatel&#46;com">bfriesen<span>&#64;</span>sun1107<span>&#46;</span>ssd<span>&#46;</span>usa<span>&#46;</span>alcatel<span>&#46;</span>com</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/TypeMetric.cpp (characterWidth): Eliminate method.
(characterHeight): Eliminate method.
(all remaining methods): Change return type to 'double'.  Fix
documentation in source files to reflect that units are in pixels
rather than points.
(descent): Renamed method from 'decent' to 'descent'.</p></li>
</ul>
</blockquote>
<p>2001-11-22  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (Magick): Invoke DestroyMagick() to clean up
ImageMagick allocations.</p></li>
<li><p>lib/Magick++/Include.h (ImageType): Added some missing enums to
Magick namespace.</p></li>
</ul>
</blockquote>
<p>2001-11-20  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/CoderInfo.h (CoderInfo): Syntax fix.
ImageMagick bug #975.</p></li>
<li><p>lib/Image.cpp (draw): Delete ostrstream data when it is no
longer needed.  ImageMagick bug #988.</p></li>
</ul>
</blockquote>
<p>2001-11-07  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (pixelColor): Implementation didn't handle pixels
indexes correctly.  Now it does.</p></li>
</ul>
</blockquote>
<p>2001-11-04  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (matteFloodfill): Coordinates are long values.
(floodFillOpacity): New method to floodfill opacity across pixels
matching color (within fuzz-factor) at point. Similar to
matteFloodfill except that color is selected from starting point.</p></li>
</ul>
</blockquote>
<p>2001-10-29  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;sun1107&#46;ssd&#46;usa&#46;alcatel&#46;com">bfriesen<span>&#64;</span>sun1107<span>&#46;</span>ssd<span>&#46;</span>usa<span>&#46;</span>alcatel<span>&#46;</span>com</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (strokeDashArray): Change to type double.
(strokeDashOffset): Change to type double.</p></li>
</ul>
</blockquote>
<p>2001-10-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Geometry.cpp (Geometry): Add constructor from
MagickLib::RectangleInfo.</p></li>
<li><p>lib/Image.cpp (boundingBox): Method to return smallest bounding
box enclosing non-border pixels.</p></li>
</ul>
</blockquote>
<p>2001-10-20  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (getConstIndexes): Add method to obtain read-only
pixel indexes.
(getIndexes): Add method to obtain read-write pixel indexes.
(Image::Image): Send warnings from Image constructor to cerr
rather than throwing.</p></li>
<li><p>lib/Color.cpp (Color(PixelPacket&amp;)): Change argument to const
PixelPacket&amp; as it should have been from the beginning.</p></li>
<li><p>lib/Image.cpp (pixelColor): Reimplemented to be a const method.</p></li>
</ul>
</blockquote>
<p>2001-10-13  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (getConstPixels): New method for returning a
read-only pixel view.  Still requires documentation.</p></li>
<li><p>lib/Magick++/STL.h (coderInfoList): Fixed compilation problem
when compiling with Visual C++.</p></li>
</ul>
</blockquote>
<p>2001-10-06  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Color.h (scaleQuantumToDouble): Add polymorphic
version that accepts double to avoid downconversion error.</p></li>
</ul>
</blockquote>
<p>2001-10-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Color.h (scaleQuantumToDouble): Cast Quantum to
double prior to division.  Hopefully fix bug.</p></li>
</ul>
</blockquote>
<p>2001-10-01  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Color.h (Color(const std::string)): Pass argument by reference.</p></li>
<li><p>(operator=): Pass argument by const reference.</p></li>
</ul>
</blockquote>
<p>2001-09-23  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (coderInfoList): New function to support
obtaining format coder information (as a list of type CoderInfo).</p></li>
<li><p>lib/CoderInfo.cpp (CoderInfo): New class to support obtaining
format coder information.</p></li>
</ul>
</blockquote>
<p>2001-09-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (depth): Use GetImageDepth and SetImageDepth
rather than just getting/setting depth attributes.</p></li>
<li><p>lib/Magick++/STL.h (opacityImage): New unary function object to
set, or attenuate, image pixel opacity throughout the image.</p></li>
<li><p>lib/Image.cpp (opacity): New method to set, or attenuate, image
pixel opacity throughout the image.</p></li>
<li><p>lib/Magick++/STL.h (typeImage): New unary function object to set
image type.</p></li>
<li><p>lib/Image.cpp (type): Added ability to set image type.</p></li>
</ul>
</blockquote>
<p>2001-09-12  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (write(Blob)): Tell blob to use malloc allocator.</p></li>
<li><p>lib/Blob.cpp (updateNoCopy): Added parameter so that user can
specify the allocation system (malloc or new) the memory came
from.  Defaults to C++ memory allocator.</p></li>
</ul>
</blockquote>
<p>2001-09-09  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (fileSize): Decided to change return type to off_t
for increased range and portability.</p></li>
</ul>
</blockquote>
<p>2001-09-08  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (fileSize): Changed return value to double.</p></li>
</ul>
</blockquote>
<p>2001-09-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (colorMap): Allocate a colormap if it does not
already exist.</p></li>
<li><p>lib/Pixels.cpp (indexes): Don't attempt to validate image type.</p></li>
<li><p>lib/Image.cpp (colorMap): Optimized more for performance.</p></li>
</ul>
</blockquote>
<p>2001-09-03  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (fontTypeMetrics): New method to support
retrieving font metrics.</p></li>
<li><p>lib/TypeMetric.cpp : New class to support font metrics
information.</p></li>
</ul>
</blockquote>
<p>2001-09-02  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Color.h (scaleDoubleToQuantum): Inline static
method made from previous ScaleDoubleToQuantum #define.
(scaleQuantumToDouble): Inline static method made from previous
ScaleQuantumToDouble #define. Helps avoid possibility of clash
with user code.</p></li>
</ul>
</blockquote>
<p>2001-08-25  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (colorMap): Automatically extend colormap if
specified index is past end of current colormap.  Colormap is
limited to a maximum depth of MaxRGB entries.</p></li>
</ul>
</blockquote>
<p>2001-08-19  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (clipMask): New method to add a clip mask to the
image.  Adds clipping to any image operation wherever the clip
mask image is transparent.</p></li>
</ul>
</blockquote>
<p>2001-08-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (print): Add single quotes around file names
and font specifications.</p></li>
</ul>
</blockquote>
<p>2001-07-07  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (read): Ensure that only a single image frame is
read.</p></li>
</ul>
</blockquote>
<p>2001-07-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (flattenImages): New function to flatten a
layered image.</p></li>
<li><p>lib/Montage.cpp (Montage): Montage initial defaults are no
longer drawn from ImageInfo.  MontageInfo structure is entirely
filled out by updateMontageInfo();</p></li>
</ul>
</blockquote>
<p>2001-07-03  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Montage.cpp (updateMontageInfo): Bugfix; colors which were
intentionally specified as invalid (unset) were being ignored.
This produced unattractive label text when doing a montage.</p></li>
</ul>
</blockquote>
<p>2001-07-01  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (medianFilterImage): Changed argument from
unsigned int to const double.
(fillColorImage): New method.
(strokeColorImage): New method.
(isValidImage): New method.</p></li>
<li><p>lib/Magick++/Image.h (edge): Change argument from unsigned int
to double.
(medianFilter): Changed argument from unsigned int to const
double.</p></li>
<li><p>lib/Magick++/STL.h (edgeImage): Change argument from unsigned
int to double.</p></li>
<li><p>demo/demo.cpp (main): Updated to match PerlMagick demo.</p></li>
</ul>
</blockquote>
<p>2001-06-23  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (shaveImage): New function to shave edges
from image.</p></li>
<li><p>lib/Image.cpp (shave): New method to shave edges from image.</p></li>
</ul>
</blockquote>
<p>2001-06-22  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (quantize): Remove conditions on whether
quantization should be done.  Now quantization is always done.</p></li>
</ul>
</blockquote>
<p>2001-06-14  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Image.h (blur,charcoal,emboss,sharpen): Changed
radius and sigma parameters to match current ImageMagick defaults.</p></li>
</ul>
</blockquote>
<p>2001-02-22  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Options.cpp (updateDrawInfo): The updateDrawInfo() method
was no longer needed.  Due to ImageMagick changes, calling it was
causing some options to be lost.</p></li>
</ul>
</blockquote>
<p>2001-01-31  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (fillRule): New method to specify the rule to use
when filling drawn objects.</p></li>
</ul>
</blockquote>
<p>2001-01-25  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (erase): New method to reset image to background
color.
(strokeAntiAlias): New method to control antialiasing of stroked
objects.</p></li>
</ul>
</blockquote>
<p>2001-01-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (channel): Renamed method from 'layer' to match
equivalent change in ImageMagick (ChannelImage).  Enumeration
names *Layer renamed to *Channel.</p></li>
</ul>
</blockquote>
<p>2001-01-13  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Montage.h (strokeColor): New method.
(fillColor): New method.</p></li>
<li><p>lib/Image.cpp (replaceImage): Revised logic so that an inValid
image should be returned if a NULL pointer is passed.  Before this
change the existing image was preserved.
(label): Work-around ImageMagick SetImageAttribute bug.</p></li>
</ul>
</blockquote>
<p>2001-01-10  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp : Adjusted to ImageMagick animation parameter API
change.</p></li>
</ul>
</blockquote>
<p>2000-12-31  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableCompositeImage): Support specifying
composition rule.</p></li>
</ul>
</blockquote>
<p>2000-12-27  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (draw): Bugfix - the primitive string was not
properly null terminated. It is a wonder that the code usually
worked at all.  Thanks to <a class="reference external" href="mailto:afatela&#37;&#52;&#48;marktest&#46;pt">afatela<span>&#64;</span>marktest<span>&#46;</span>pt</a> for reporting it.</p></li>
</ul>
</blockquote>
<p>2000-12-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (deconstructImages): New STL function for
deconstructing an image list to assist with creating an animation.
(mosaicImages): New STL function for inlaying an image list to
form a single coherent picture.</p></li>
</ul>
</blockquote>
<p>2000-12-17  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (convolve): New method to convolve image using
user-supplied convolution matrix.
(unsharpmask): New method to replace image with a sharpened
version of the original image using the unsharp mask algorithm.</p></li>
</ul>
</blockquote>
<p>2000-12-14  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>: Adapted to ImageMagick API change which eliminates
AnnotateInfo.</p></li>
</ul>
</blockquote>
<p>2000-12-10  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (annotateImage): Brought into sync with
annotate methods in Image.</p></li>
</ul>
</blockquote>
<p>2000-12-09  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (annotate): Usage of Geometry parameter was
incorrect. Geometry parameter is used to specify bounding
area. This changes the interpretation for two of the annotate
methods (which probably weren't usable before).</p></li>
</ul>
</blockquote>
<p>2000-11-29  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Color.h (alphaQuantum): Bugfix.  Due to change in
treatment of opacity member, alphaQuantum() was not allowing value
to be set.</p></li>
</ul>
</blockquote>
<p>2000-11-25  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableFillRule): New class to specify fill
rule (see SVG's fill-rule).
(DrawableDashOffset): New class to specify initial offset in dash
array.
(DrawableDashArray): New class to specify a stroke dash pattern.
(DrawableStrokeLineCap): New class to specify the shape to be used
at the end of open subpaths when they are stroked.
(DrawableStrokeLineJoin): New class to specify the shape to be
used at the corners of paths (or other vector shapes) when they
are stroked.
(DrawableMiterLimit): New class to specify extension limit for
miter joins.</p></li>
</ul>
</blockquote>
<p>2000-11-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (annotate): Reimplement text rotation using affine
member of AnnotateInfo.
(strokeDashOffset): New method for specifying the dash offset to
use for drawing vector objects. Similar to SVG stroke-dashoffset.
(strokeDashArray): New method for specifying the dash pattern to
use for drawing vector objects.  Similar to SVG stroke-dasharray
(strokeLineCap): New method to specify the shape to be used at the
end of open subpaths when they are stroked. Similar to SVG
stroke-linecap.
(strokLineJoin): New method to specify the shape to be used at the
corners of paths (or other vector shapes) when they are
stroked. Similar to SVG stroke-linejoin.
(strokeMiterLimit): New method to specify the miter limit when
joining lines using MiterJoin. Similar to SVG stroke-miterlimit.
(strokeWidth): Renamed lineWidth method to strokeWidth.</p></li>
</ul>
</blockquote>
<p>2000-10-26  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Drawable.h (DrawableCompositeImage): Add a
short-form constructor to support specifying image location and
name, but without specifying rendered size (use existing image
size).</p></li>
</ul>
</blockquote>
<p>2000-10-16  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Drawable.h (DrawablePopGraphicContext): New class
to pop graphic context.
(DrawablePushGraphicContext): New class to push graphic context.</p></li>
<li><p>lib/Drawable.cpp (DrawableStrokeAntialias): New class to set
stroke antialiasing.
(DrawableTextAntialias): New class to set text antialiasing.</p></li>
</ul>
</blockquote>
<p>2000-10-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (transformOrigin): New method to set origin of
coordinate system for use when annotating with text or drawing
(transformRotation): New method to set rotation for use when
annotating with text or drawing
(transformScale): New method to set scale for use when annotating
with text or drawing.
(transformSkewX): New method to set skew for use in X axis when
annotating with text or drawing.
(transformSkewY): New method to set skew for use in Y axis when
annotating with text or drawing.
(transformReset): New method to reset transformation to default.</p></li>
<li><p>lib/Drawable.cpp (DrawablePath): New class for drawing SVG-style
vector paths.
(PathArcArgs): New class. Argument for PathArcArgs &amp; PathArcAbs.
(PathArcAbs): New class. Draw arc using absolute coordinates.
(PathArcRel): New class. Draw arc using relative coordinates.
(PathClosePath): New class. Close drawing path.
(PathCurvetoArgs): New class. Argument class for PathCurvetoAbs &amp;
PathCurvetoRel.
(PathCurvetoAbs): New class. Cubic bezier, absolute coordinates
(PathCurvetoRel): New class. Cubic bezier, relative coordinates
(PathSmoothCurvetoAbs): New class. Cubic bezier, absolute
coordinates
(PathSmoothCurvetoRel): New class. Cubic bezier, relative
coordinates
(PathQuadraticCurvetoArgs): New class. Argument class for
PathQuadraticCurvetoAbs and PathQuadraticCurvetoRel.
(PathQuadraticCurvetoAbs): New class. Quadratic bezier, absolute
coordinates
(PathQuadraticCurvetoRel): New class. Quadratic bezier, relative
coordinates
(PathSmoothQuadraticCurvetoAbs): New class. Quadratic bezier,
absolute coordinates
(PathSmoothQuadraticCurvetoRel): New class. Quadratic bezier,
relative coordinates
(PathLinetoAbs): New class. Line to, absolute coordinates
(PathLinetoRel): New class. Line to, relative coordinates
(PathLinetoHorizontalAbs): New class. Horizontal lineto, absolute
coordinates
(PathLinetoHorizontalRel): New class. Horizontal lineto, relative
coordinates
(PathLinetoVerticalAbs): New class. Vertical lineto, absolute
coordinates.
(PathLinetoVerticalRel): New class. Vertical lineto, relative
coordinates.
(PathMovetoAbs): New class. Moveto, absolute coordinates
(PathMovetoRel): New class. Moveto, relative coordinates</p></li>
</ul>
</blockquote>
<p>2000-10-10  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableSkewX): New object to apply skew in X
direction.
(DrawableSkewY): New object to apply skew in Y direction.</p></li>
</ul>
</blockquote>
<p>2000-10-09  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (edge): Change argument from 'unsigned int' to
'double' in order to match ImageMagick API.</p></li>
</ul>
</blockquote>
<p>2000-10-08  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableCompositeImage): Renamed from
DrawableImage.
(DrawableTextDecoration): Renamed form DrawableDecoration.
(all-classes): Complete re-write to write the drawing command to a
stream when draw() is invoked rather than at object construction
time. This may be somewhat slower for individual draw operations
but but should be at least as fast for lists of drawing commands,
and is more flexible going into the future. Drawable classes now
inherit from DrawableBase but are passed into STL lists and Image
draw() methods via the surrogate class Drawable.  The upshot of
all this is that the existing published API has not been altered
but things work much differently under the covers.</p></li>
</ul>
</blockquote>
<p>2000-10-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableStrokeColor): Renamed from
DrawableStroke
(DrawableFillColor): Renamed from DrawableFill
(DrawableRotation): New class to influence object rotation.
(DrawableScaling): New class to influence object scaling.
(DrawableTranslation): New class to influence object translation.</p></li>
</ul>
</blockquote>
<p>2000-10-04  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableAffine): New class to influence object
scaling, rotation, and translation (as defined by SVG XML).
(DrawableAngle): New class to influence drawing angle.
(DrawableDecoration): New class to influence text decoration such
as underline.
(DrawableFill): New class to set object filling color.
(DrawableFillOpacity): New class to set opacity to use when
filling object.
(DrawableFont::): New class to set font.
(DrawableGravity): New class to set text placement gravity.
(DrawablePointSize): New class to set font point size.
(DrawableStroke): New class to set drawing stroke color.
(DrawableStrokeOpacity): New class to set drawing stroke opacity.
(DrawableStrokeWidth): New class to set drawing stroke width.</p></li>
</ul>
</blockquote>
<p>2000-10-03  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableImage): Added width and height
parameters to specify size to scale rendered image to.  This is
actually a bug-fix since it seems that the correct drawing command
was no longer being generated.</p></li>
</ul>
</blockquote>
<p>2000-09-30  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (read): New overloaded method to read an image
based on an array of raw pixels, of specified type and mapping, in
memory.
(write): New overloaded method to write image to an array of
pixels, of specified type and mapping.
(Image): New overloaded constructor to construct an image based on
an array of raw pixels, of specified type and mapping, in memory.</p></li>
</ul>
</blockquote>
<p>2000-09-27  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (colorize): API change to match change in
ImageMagick.  Now accepts percentage of red, green, and blue to
colorize with using specified pen color.</p></li>
</ul>
</blockquote>
<p>2000-09-20  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Drawable.h: Reverted Coordinate implementation back
from and STL pair based implementation to a simple class.  Maybe
this will improve portability.  It is more understandable anyway.</p></li>
</ul>
</blockquote>
<p>2000-09-18  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Options.cpp : Bugfix.  Some DrawInfo attributes were not
being updated.  This lead to options like fontPointsize not
changing the font.</p></li>
</ul>
</blockquote>
<p>2000-08-26  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (blurImage, charcoalImage, embossImage,
sharpenImage): Expand order_ argument to radius_ &amp; sigma_
arguments for more control (matches ImageMagick API change).</p></li>
<li><p>lib/Image.cpp (blur, charcoal, emboss, sharpen): Expand order_
argument to radius_ &amp; sigma_ arguments for more control (matches
ImageMagick API change).</p></li>
</ul>
</blockquote>
<p>2000-08-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (read): Check returned Image for embedded
exception, as well as the existing parameter check.  This fixes
the bug that warnings are not reported.</p></li>
</ul>
</blockquote>
<p>2000-07-26  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>test/*.cpp demo/*.cpp: Added call to MagickIncarnate() to set
ImageMagick install location for Windows.  Hopefully this hack can
be removed someday.</p></li>
</ul>
</blockquote>
<p>2000-07-20  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (colorFuzz): Changed type to 'double' from
'unsigned int' to match change in ImageMagick.</p></li>
<li><p>lib/Color.cpp (Color*): Added copy constructor from base class.
(operator =): Added assignment operator from base class.</p></li>
</ul>
</blockquote>
<p>2000-06-28  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Include.h : Changed enumeration FilterType to
FilterTypes, and QuantumTypes to QuantumType in order to match
last-minute API change in ImageMagick.</p></li>
</ul>
</blockquote>
<p>2000-06-22  Bob Friesenhahn &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Pixels.cpp (indexes): Bugfix, use
GetCacheViewIndexes() rather than GetIndexes().</p></li>
</ul>
</blockquote>
<p>2000-05-23  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Montage.h (gravity): Type of gravity_ argument, and
return value changed from 'unsigned int' to GravityType.</p></li>
</ul>
</blockquote>
<p>2000-04-17  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (DrawableArc, DrawableBezier, DrawablePolyline,
RoundRectangle): Added support for new drawing objects.</p></li>
</ul>
</blockquote>
<p>2000-04-16  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp: Removed all public methods which accept
Coordinate arguments except those that accept lists of
Coordinates.  Converted remaining drawable object methods into
individual classes which inherit from Drawable (e.g. &quot;circle&quot;
becomes &quot;DrawableCircle&quot;). The constructor for each class is
compatible with the original method. This results in annoying
changes to user code but provides more implementation flexibility.</p></li>
</ul>
</blockquote>
<p>2000-04-09  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp
(fillEllipse,fillRectangle,fillCircle,fillPolygon): Removed
methods.  Object filling is now based on whether fillColor or
penTexture are valid or not.  This reflects ImageMagick internal
changes.</p></li>
<li><p>lib/Image.cpp (fillColor): New method to specify fill color when
drawing objects.
(strokeColor): New method to specify outline color when drawing
objects.
(penColor): Setting penColor now sets fillColor and
strokeColor. Getting penColor retrieves the value of
strokeColor. This supports backwards compatibility.</p></li>
</ul>
</blockquote>
<p>2000-03-28  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (lineWidth): Type changed from unsigned int to
double.</p></li>
</ul>
</blockquote>
<p>2000-03-08  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (Magick):</p></li>
</ul>
</blockquote>
<p>2000-03-07  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h
(blurImage,charcoalImage,edgeImage,embossImage,
reduceNoiseImage,sharpenImage): Modified to support order of the
pixel neighborhood. Backward compatible function objects
constructors are provided for embossImage, and reduceNoiseImage.</p></li>
<li><p>lib/Image.cpp (blur,charcoal,edge,emboss,reduceNoise,sharpen):
Now accept unsigned int argument which represents the order of the
pixel neighborhood (e.g. 3).  This is not a backwards compatible
change, however, backward compatible methods are provided for
emboss, and reduceNoise.</p></li>
</ul>
</blockquote>
<p>2000-03-02  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Pixels.h (Pixels): Moved Image pixel methods to
Pixels class.</p></li>
</ul>
</blockquote>
<p>2000-02-29  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (annotate): Re-wrote to improve performance.
(draw): Re-wrote to improve performance.</p></li>
</ul>
</blockquote>
<p>2000-02-26  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Drawable.cpp (text): Bugfix: support spaces in annotation
text.</p></li>
</ul>
</blockquote>
<p>2000-02-23  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (gaussianBlurImage): New function object to
Gaussian blur image.</p></li>
<li><p>lib/Image.cpp (gaussianBlur): New method to Gaussian blur image.</p></li>
</ul>
</blockquote>
<p>2000-02-16  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp : Call-back based LastError class is eliminated in
favor of ImageMagick 5.2's re-entrant ExceptionInfo reporting.
This should make Magick++ thread safe under Win32.</p></li>
</ul>
</blockquote>
<p>2000-02-08  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (floodFillTexture): Fixed bug due to pixel pointer
becoming invalid in ImageMagick function.</p></li>
</ul>
</blockquote>
<p>2000-01-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp : Added locking to reference counting to ensure
thread (pthread) safety.</p></li>
<li><p>lib/Blob.cpp : Added locking to reference counting to ensure
thread (pthread) safety.</p></li>
<li><p>lib/LastError.cpp: Added support for thread specific data
(pthreads) so that error reporting is thread safe.</p></li>
<li><p>lib/Magick++/Thread.h: Added thread wrapper class to provide
thread-safe locking (pthreads) to Magick++.</p></li>
</ul>
</blockquote>
<p>2000-01-19  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp: Added methods getPixels, setPixels, syncPixels,
readPixels, and writePixels, in order to provide low-level access
to Image pixels.  This approach (direct wrapper around ImageMagick
functions) does not mean that the planned object-oriented wrapper
has been forgotten, only that this wrapper is not ready yet, and
users need to manipulate pixels *now*.</p></li>
</ul>
</blockquote>
<p>2000-01-16  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/LastError.cpp: Complete re-implementation of LastError so
that it hides its implementation.  Also assures that all memory is
explicitly deallocated at program exit to avoid the appearance of
a leak.</p></li>
</ul>
</blockquote>
<p>2000-01-11  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (size): Bug-fix. Set image columns and rows as
well as image options columns and rows.</p></li>
<li><p>lib/Image.cpp :Depth parameters are now all unsigned in for
consistency.</p></li>
<li><p>lib/Image.cpp (write): Parameters for writing Blobs re-arranged
again to hopefully be more sensible.</p></li>
<li><p>lib/Magick++/STL.h: Bug-fix. Re-number scenes from zero when
linking image range in container into a list. This provides
expected results.</p></li>
</ul>
</blockquote>
<p>1999-12-31  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp
(write): Additional overloaded methods for BLOBs.
(read): Additional overloaded methods for BLOBs. Re-ordered
parameters for one existing method.
(Image): Additional overloaded methods for BLOBs.  Re-ordered
parameters for one existing method.</p></li>
</ul>
</blockquote>
<p>1999-12-28  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (floodFillTexture): Changed coordinates to
unsigned.</p></li>
</ul>
</blockquote>
<p>1999-12-21  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (medianFilter): New method.</p></li>
</ul>
</blockquote>
<p>1999-12-18  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (density): Bug fix. Was not setting image x &amp; y
density.</p></li>
</ul>
</blockquote>
<p>1999-11-30  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (page): psPageSize() is renamed to page() and now
properly returns the attribute from the image.</p></li>
</ul>
</blockquote>
<p>1999-11-25  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp: Rename transformColorSpace() to colorSpace().
Added colorSpace() accessor method.</p></li>
</ul>
</blockquote>
<p>1999-11-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Color.cpp: Re-implemented PixelPacket pointer so that it is
never NULL and added a 'valid' field for tracking object validity.</p></li>
</ul>
</blockquote>
<p>1999-11-13  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (quantizeError): Eliminated method.</p></li>
</ul>
</blockquote>
<p>1999-11-10  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (annotate &amp; draw): Changed implementation to
reflect change to the way AnnotateInfo is managed by ImageMagick.</p></li>
</ul>
</blockquote>
<p>1999-11-07  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (cacheThreshold): New method to set the pixel
cache threshold.</p></li>
<li><p>lib/Magick++/Include.h (Magick): Added new enumerations from
classify.h.</p></li>
</ul>
</blockquote>
<p>1999-10-28  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Options.h (fontPointsize): Argument is now a double
to match change in ImageMagick.</p></li>
<li><p>lib/Image.cpp (fontPointsize): Argument is now a double to match
change in ImageMagick.</p></li>
</ul>
</blockquote>
<p>1999-10-21  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Blob.cpp (BlobRef): Bugfix -- start blob reference count at
one rather than zero.</p></li>
</ul>
</blockquote>
<p>1999-10-19  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (Image): Fixed Image constructors from Blob.  The
image reference was not being instantiated as it should have been,
causing a crash.</p></li>
</ul>
</blockquote>
<p>1999-10-05  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Blob.cpp: All blob length parameters are now of type size_t.</p></li>
<li><p>lib/Image.cpp (write): Length estimate is now of type size_t.</p></li>
</ul>
</blockquote>
<p>1999-09-20  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (rotate): No longer accepts a crop option since
ImageMagick no longer supports this.
(shear): No longer accepts a crop option since ImageMagick no
longer supports this.</p></li>
</ul>
</blockquote>
<p>1999-09-18  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp:
(rotate): No longer accepts sharpen argument.  User must sharpen
separately if desired.  This change is due to a similar change in
ImageMagick 5.0.
(condense): Removed method.
(uncondense): Removed method.
(condensed): Removed method.
(pixelColor): Adapted to 5.0.</p></li>
<li><p>lib/Magick++/Color.h : Rewrote to efficiently use ImageMagick
5.0's PixelPacket color representation.</p></li>
<li><p>lib/Color.cpp : Rewrote to efficiently use ImageMagick 5.0's
PixelPacket color representation.</p></li>
</ul>
</blockquote>
<p>1999-09-12  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (condensed): Bug fix.  The condensed() method was
returning the opposite bool value than it should.  Oops!</p></li>
</ul>
</blockquote>
<p>1999-09-07  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Include.h (MagickLib): Eliminated requirement for
including &lt;magick/define.h&gt;.</p></li>
</ul>
</blockquote>
<p>1999-08-07  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp: Added accessor methods for other key ImageMagick
structs.</p></li>
<li><p>lib/Options.cpp (penTexture): Fixed bug with removing texture
caused by change in Image constructor.</p></li>
<li><p>lib/Image.cpp: Changed strategy such that an Image containing a
null MagickLib::Image pointer is never constructed except for
under error conditions.  Removed existing checks for null image
pointer on attribute methods.
Use image() and constImage() accessor methods as part of Image
implementation in order to clean-up code and ensure
const-correctness.</p></li>
</ul>
</blockquote>
<p>1999-08-03  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/STL.h (Magick): Added STL function readImages().
Not tested yet.
(Magick): Added STL function writeImages(). Not tested yet.</p></li>
<li><p>lib/Image.cpp: Removed support for 'text' attribute as this is
no longer present in ImageMagick as of 4.2.8.</p></li>
</ul>
</blockquote>
<p>1999-07-21  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Image.cpp (condense): Skip condensing image if already
condensed.
(uncondense): Skip uncondensing image if not condensed.
(condensed): New method to test if image is condensed.
(classType): New method which supports conversion of the image
storage class. May result in loss of color information
(quantization is used) if a DirectClass image is converted to
PseudoClass.</p></li>
</ul>
</blockquote>
<p>1999-07-18  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Magick++/Color.h (Magick::Color): Color parameters are now
stored in a MagickLib::RunlengthPacket structure which is
referenced via a pointer.  This structure is either allocated by a
Magick::Color constructor or passed as an argument to a
Magick::Color constructor so that it may refer to to a
MagickLib::Image pixel. The owner of the structure is managed so
that the structure is only deleted if it was allocated by
Magick::Color.</p></li>
</ul>
</blockquote>
<p>1999-07-09  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>overall : Removed 'Magick' prefix from all source file
names. Moved class headers to Magick++ subdirectory.  This should
not break any code using the documented interface (via
Magick++.h).</p></li>
</ul>
</blockquote>
<p>1999-07-08  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/MagickImage.cpp (composite): Support composition placement
by gravity like PerlMagick does.</p></li>
</ul>
</blockquote>
<p>1999-07-07  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/MagickImage.cpp (Image): Added constructors to construct an
Image from a BLOB.</p></li>
</ul>
</blockquote>
<p>1999-07-06  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>tests/manipulate.cpp (main): Wrote a basic sanity test for
reading and writing BLOBS.</p></li>
</ul>
</blockquote>
<p>1999-06-21  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/MagickImage.cpp (read): Added support for reading an encoded
image stored in a BLOB.  Uses new ImageMagick APIs introduced on
July 21, 1999.
(write): Added support for writing an encoded image to a BLOB.</p></li>
</ul>
</blockquote>
<p>1999-06-16  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/MagickInclude.h : Use new &lt;magick/api.h&gt; interface to
ImageMagick to avoid namespace-induced problems.</p></li>
<li><p>configure.in : CPPFLAGS and LDFLAGS specified via the
environment take precedence over flags from Magick-config.</p></li>
</ul>
</blockquote>
<p>1999-05-31  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/MagickSTL.h (mapImages): New algorithm to map the sequence
of images to the color map of a provided image.
(quantizeImages): New algorithm to quantize a sequence of images
to a common color map.</p></li>
</ul>
</blockquote>
<p>1999-05-24  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/MagickBlob.cpp (updateNoCopy): New method to allow derived
classes to insert data into the base class without making a copy
of the data. This represents a transfer of ownership of the data
from the derived class to the base class.</p></li>
</ul>
</blockquote>
<p>1999-05-23  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/MagickColor.cpp (operator =): Adapted to new ImageMagick
4.2.6 as of 5/23/99 which removes X11 compatibility functions.</p></li>
<li><p>lib/MagickGeometry.cpp (operator =): Adapted to new ImageMagick
4.2.6 as of 5/23/99 which removes X11 compatibility functions.</p></li>
</ul>
</blockquote>
<p>1999-05-17  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/MagickBlob.cpp (Blob): Support default constructor for Blob.</p></li>
</ul>
</blockquote>
<p>1999-05-16  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/MagickSTL.h (transformColorSpaceImage): New unary function
object to invoke transformColorSpace on STL container object.</p></li>
<li><p>lib/MagickImage.cpp (transformColorSpace): New method to
transform the image data to a new colorspace.</p></li>
</ul>
</blockquote>
<p>1999-05-15  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/MagickImage.cpp (ping): Re-implemented to match (requested)
API change in ImageMagick 4.2.5. Method signature has changed to
be like 'read'.
(annotate): Added two new overloaded methods for text annotation
in order to support the new rotated text capability in ImageMagick
4.2.5.  To accomplish this, the default for gravity had to be
removed from several methods. This may impact existing code.
Still not sure if this is the best set of method signatures.</p></li>
</ul>
</blockquote>
<p>1999-05-13  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/MagickImage.cpp (ping): New method to obtain image size in
bytes and geometry without the overhead of reading the complete
image.
(uncondense): New method to uncompress run-length encoded pixels
into a simple array to make them easy to operate on.</p></li>
</ul>
</blockquote>
<p>1999-05-12  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/MagickImage.cpp (comment): Passing an empty string as the
comment results in no comment at all rather than a comment with no
data.</p></li>
</ul>
</blockquote>
<p>1999-05-11  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/MagickImage.cpp (iccColorProfile): Implemented method to set
ICC color profile from opaque object in memory (must be formatted
outside of Magick++).
(iptcProfile): Implemented method to set IPTC profile from opaque
object in memory (must be formatted outside of Magick++).</p></li>
<li><p>lib/MagickBlob.cpp: New class to support managing user-supplied
opaque Binary Large OBjects (BLOBS) in the API. Reference counted
to improve semantics and to possibly reduce memory consumption.</p></li>
</ul>
</blockquote>
<p>1999-05-01  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/Makefile.am (libMagick): Updated to use libtool 1.3 so that
shared library can be built.</p></li>
</ul>
</blockquote>
<p>1999-04-25  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/MagickImage.cpp (montageGeometry): Return Magick::Geometry
rather than std::string.</p></li>
</ul>
</blockquote>
<p>1999-04-19  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/MagickColor.cpp (alpha): Added support for setting alpha via
scaled-double to the Color class.  The new method name is 'alpha'.</p></li>
</ul>
</blockquote>
<p>1999-04-13  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>lib/MagickColor.cpp: Added support for setting an alpha value
(unscaled Quantum only) for use on DirectColor images that have
matte enabled.  This requires ImageMagick 4.2.2 dated April 13,
1999 or later to compile since Cristy added a special flag to
allow testing to see if the user has specified an opacity value:
&quot;I added XColorFlags to magick/classify.h.  If DoMatte is set in
color-&gt;flags then the opacity value is valid in color-&gt;pixel.&quot;</p></li>
</ul>
</blockquote>
<p>1999-04-11  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>demo/flip.cpp (main): New file.  Demonstrates use of flipImage
function object as well as morphImages algorithm.</p></li>
</ul>
</blockquote>
<p>1999-04-10  Bob Friesenhahn  &lt;<a class="reference external" href="mailto:bfriesen&#37;&#52;&#48;simple&#46;dallas&#46;tx&#46;us">bfriesen<span>&#64;</span>simple<span>&#46;</span>dallas<span>&#46;</span>tx<span>&#46;</span>us</a>&gt;</p>
<blockquote>
<ul class="simple">
<li><p>tests/color.cpp : New file to support testing the Magick::Color
classes.</p></li>
<li><p>lib/MagickOptions.cpp: The ImageInfo filter member is now
ignored by ImageMagick (as of ImageMagick 4.2.2 April 10, 1998) so
support for setting it is removed. The Image filter member is
still updated. According to Cristy, this ImageMagick version
removes automatic sharpening of resized images.  The blur member
is added to the Image structure. A blur value &lt; 1 causes the image
to be sharpened when resizing while a value &gt; 1 leaves the image
blurry.  Magick++ does not yet support the blur member.</p></li>
</ul>
</blockquote>
</main>


<hr class="docutils">
<div class="document">
    <p><a href="../Copyright.html">Copyright</a> © GraphicsMagick Group 2002-2025<!--SPONSOR_LOGO--></p>
</div>

</main>
</body>
</html>
